package aplicacionCliente;
import java.net.MalformedURLException;
import java.rmi.*;
import java.util.*;

import api.API;
import api.IConsultaReglasRMI;

public class ManejadorDatos {
	//Elementos para la conexion remota
	private String servidor;
	private IConsultaReglasRMI objetoRemoto;
	
	//Elementos para el manejo de datos
	private List<String> reglasID = new ArrayList<String>();	
	
	public ManejadorDatos(String servidor){
		this.servidor = servidor;
		this.getObjetoRemoto();
	}
	
	private IConsultaReglasRMI getObjetoRemoto(){
		try {
			this.objetoRemoto = (IConsultaReglasRMI)Naming.lookup ("//"+this.servidor+"/ConsultaReglasRMI");
		} catch (MalformedURLException e) {			
			e.printStackTrace();
		} catch (RemoteException e) {
			e.printStackTrace();
		} catch (NotBoundException e) {
			e.printStackTrace();
		}
		return this.objetoRemoto;
	}
	
	
	public List<String> getInformacionReglas(){
		try {
			this.reglasID = this.objetoRemoto.obtenerReglas();
		} catch (RemoteException e) {			
			e.printStackTrace();
		}
		return this.reglasID;
	}
	
	public void activarRegla(int i){
		try {
			this.objetoRemoto.activarRegla(i);
		} catch (RemoteException e) {			
			e.printStackTrace();
		}
	}
	
	public void desactivarRegla(int i){
		try {
			this.objetoRemoto.desactivarRegla(i);
		} catch (RemoteException e) {			
			e.printStackTrace();
		}
	}
	
	public boolean reglaActiva(int i){
		boolean estado = true;
		try {
			estado = this.objetoRemoto.reglaActiva(i);
		} catch (RemoteException e) {			
			e.printStackTrace();
		}
		return estado;
	}
}
